﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WebPromenadebyenTabeller;
using System.Configuration;
using System.Data.SqlClient;

namespace PromBygningDB
{
    public class PromGatewayBygning
    {
        const String CONNECTION_STRING = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\PromDatabase.mdf;Integrated Security=True;User Instance=True";

        public static List<Bygning> FindAlleBygninger()
        {
            List<Bygning> nyListe = new List<Bygning>();

            System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection();
            con.ConnectionString = CONNECTION_STRING;

            //SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
            con.Open();

            System.Data.IDbCommand command = con.CreateCommand();
            command.CommandText = "SELECT * FROM BYGNINGER";
            System.Data.IDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                string sBygningsID = reader["bygningsID"].ToString();
                string sNavn = reader["navn"].ToString();
                string sStemmer = reader["stemmer"].ToString();

                int bygningsID = int.Parse(sBygningsID);
                string navn = sNavn;
                int stemmer = int.Parse(sStemmer);


                Bygning NyBygningsID = new Bygning(bygningsID, navn, stemmer);

                nyListe.Add(NyBygningsID);

            }

            con.Close();
            return nyListe;
        }

        public static Bygning OpretBygning(int bygningsID, string navn, int stemmer)
        {
            Bygning nyBygning = null;

            //SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

            System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection();
            con.ConnectionString = CONNECTION_STRING;

            con.Open();

            System.Data.IDbCommand command = con.CreateCommand();
            command.CommandText = "INSERT INTO BYGNINGER "
                                    + "(bygningsID, navn, stemmer) VALUES " +
                                    "(" + bygningsID + " , " + navn + ", '" + stemmer + "')";
            int antalIndsat = command.ExecuteNonQuery();
            if (antalIndsat == 1)
            {
                command.CommandText = "SELECT @@identity AS lastinsertedkey";
                string slastkey = command.ExecuteScalar().ToString();
                int lastkey = int.Parse(slastkey);
                command.CommandText = "SELECT * FROM BYGNINGER "
                                       + " WHERE (BYGNINGSID=" + lastkey + ")";
                System.Data.IDataReader reader = command.ExecuteReader();
                if (reader.Read())
                {
                    string sBygningsID = reader["bygningsID"].ToString();
                    string sNavn = reader["navn"].ToString();
                    string sStemmer = reader["stemmer"].ToString();

                    int nybygningsID = int.Parse(sBygningsID);
                    string nynavn = sNavn;
                    int nystemmer = int.Parse(sStemmer);

                    nyBygning = new Bygning(nybygningsID, nynavn, nystemmer);

                }
            }
            con.Close();

            return nyBygning;
        }

        public static Bygning FindBygning(int BygnID)
        {
            //SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

            System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection();
            con.ConnectionString = CONNECTION_STRING;

            con.Open();

            System.Data.IDbCommand command = con.CreateCommand();

            command.CommandText = "SELECT * FROM BYGNINGER WHERE (bygningsID =" + BygnID + " )";
            System.Data.IDataReader reader = command.ExecuteReader();

            reader.Read();

            int BygningsID = int.Parse(reader["bygningsID"].ToString());
            string Navn = reader["navn"].ToString();
            int Stemmer = int.Parse(reader["stemmer"].ToString());


            Bygning nyBygning = new Bygning(BygningsID, Navn, Stemmer);

            con.Close();
            return nyBygning;
        }
    }
}